iT邦幫忙

2026 iThome 鐵人賽

DAY 8
0
Vibe Coding

《我與 AI 的奇幻漂流:30 天,把「能跑」變成「能上線」》系列 第 8

【Day 08|看懂航海圖】「這邊怪怪的」,到底要怎麼說給 AI 聽?

  • 分享至 

  • xImage
  •  

還記得 Day 1 開頭那幾句話嗎?

「這個不太對,你再調整一下」
「我要那種比較有質感的」

這種話對你來說很清楚,因為你看著畫面。但對 AI 來說,它不知道「這個」是哪個、「不太對」是哪裡不對。昨天我們用 Next.js 做出了第一版首頁。接下來一定會想改東西,而改東西之前,得先講得出來要改什麼。

今天要做的就是這件事:認識畫面上那些東西的名字,以及怎麼找出「怪怪的」到底是哪裡。

主要會整理一些常見的元件、UI元素的名詞,不需要特別背,但記得之後,跟 AI 溝通可以變得更順暢。


一、區塊和元件

為了方便描述,我們先用兩個尺度來看畫面:

  • 區塊:頁面由哪幾個大區域組成,每一區是幹嘛的
  • 元件:區塊裡面那些看得出來、可以操作的零件,按鈕、輸入框、卡片這些

這不是嚴格的技術分類。同一個頁首,看畫面時是一個區塊,在程式碼裡也可能被做成一個元件。今天只是先有一套描述畫面的共同語言。

先看區塊。

區塊 是什麼 在我的首頁上
頁首(Header) 最上面那一條,通常放網站名稱和選單 左邊 BIAS SHELF,右邊「我的收藏」
導覽列(Nav) 帶你去其他頁面的那排連結,常住在 Header 裡 「專輯資料庫」「收藏指南」
主視覺區(Hero) 一進來最大、最醒目的那一區 大標語加上黑膠唱片
區段(Section) 頁面上一段一段的內容 「探索專輯配置」那一整段
頁尾(Footer) 最下面,通常放版權、聯絡方式 最下方顯示網站名稱的區塊
麵包屑(Breadcrumb) 「首頁 > NewJeans > Get Up」這種路徑 現在還沒有,等每張專輯有自己的頁面才會出現

另外兩個常聽到的:
固定頁首(Sticky header):往下捲的時候,Header 會黏在最上面不消失。
漢堡選單(Hamburger menu):手機上那個三條線的圖示。它其實是一顆按鈕,點了之後把收起來的導覽列展開。所以它是元件,只是住在 Header 這個區塊裡——這剛好是區塊和元件最好的分辨例子。

https://ithelp.ithome.com.tw/upload/images/20260922/20178017kukSiwNFBX.png
【圖 1|以 Apple Mac Studio 產品介面為例 】


二、內容怎麼排

同樣一堆專輯資料,可以用很多種方式擺出來。

元件 長什麼樣 適合 常見在
卡片(Card)+格線(Grid) 一張張方塊排成好幾欄 瀏覽、有圖片、每一筆都想看起來很完整 電商商品列表、YouTube 首頁
列表(List) 一行一筆,由上往下 資訊簡單、要快速掃過 Email 收件匣、手機的設定頁
表格(Table) 有欄有列 比較或整理很多筆同一種資訊 公司後台、ERP、CRM、股票報價
分頁籤(Tabs) 上面一排標籤,點了切換下面的內容 同一件事的不同面向 商品頁的「規格/評價/問答」
手風琴(Accordion) 點標題展開、再點收起 內容很多,但不一定每段都要看 常見問題(FAQ)
輪播(Carousel) 一張一張左右滑 輪流展示幾個主打內容 網站首頁的大橫幅

https://ithelp.ithome.com.tw/upload/images/20260922/20178017IIq8lToI5k.png
【圖 2|各種版型】

List 通常比較適合「逐筆看」,Table 比較適合「跨筆比較」。
視覺上它們其實有時候很像,我個人會去看欄位是否固定對齊,以及使用者是不是需要比較同一欄的資料。

通常怎麼選

看「常見在」那一欄會發現:要的網站幾乎都用卡片(例如電商產品頁面),要處理大量資料的後台幾乎都用表格。
目前首頁顯示專輯是用卡片,因為使用者是來逛的,而且有專輯圖片。但如果哪天要比較同一張專輯各版本的內容物,表格可能反而更適合。不是哪個元件比較好,是使用者現在要做什麼。

資料很多的時候

現在首頁只有 6 張專輯,一頁就放完了。但如果有 600 張呢?

做法 體驗
分頁(Pagination) 下面有 1、2、3⋯⋯ 可以跳到特定頁
載入更多(Load more) 滑到底有一顆按鈕,按了再多出一批
無限捲動(Infinite scroll) 滑到底自動載入,一直滑下去

三種沒有絕對的好壞。但如果內容會一直自動載入,使用者會很難滑到頁尾。重要資訊放在頁尾的網站,用無限捲動時要另外想辦法——這種事,AI 不一定會主動提醒你。


三、輸入元件

使用者要「告訴網站一些事」的時候用的東西。

元件 是什麼
按鈕(Button) 按了就做一件事
文字輸入框(Text input) 自己打字
搜尋框(Search) 專門拿來搜尋的輸入框,常帶一個放大鏡
下拉選單(Dropdown / Select) 點開一串選項,選一個
單選按鈕(Radio) 一組圓圈,只能選一個
核取方塊(Checkbox) 一組方框,可以選好幾個
開關(Toggle / Switch) 開或關,通常按了馬上生效
滑桿(Slider) 拖著選一個範圍或數值
篩選膠囊(Chip / Tag) 一顆顆小圓角標籤,點了就篩選

https://ithelp.ithome.com.tw/upload/images/20260922/20178017fXk7WjBLH8.png
【圖 3|各種輸入元件】

圖中顯示的是這些元件的經典外觀,並不一定完全長這個樣子,有時候可能會融合多種元素(像是搜尋框某方面來說也算是一種文字輸入框),或是有些人也會自行根據需求去進行設計。

通常怎麼選

昨天的兩個版本剛好是一組對照:第一版的篩選是一排膠囊,第二版變成下拉選單。
https://ithelp.ithome.com.tw/upload/images/20260922/20178017WwweuoOBxW.png
【圖 4|昨天的兩個版本篩選元件對照】
昨天的兩個版本在專輯篩選所使用的元件不同、篩選的維度也不同(一種用膠囊,篩選團體種類、專輯種類;另一種用下拉選單,可以篩選團體、年份)

哪個比較好,看選項有幾個會是判斷依據之一。選項少,用膠囊或單選按鈕,一眼就看完、不用點開;選項多(例如一百個團體),才收進下拉選單。但如果多到很難找,只是收起來也不夠,還可能需要搜尋或分組。

也有其他的判斷依據,像是操作難易度、選項重要性、選項種類...通常會需要綜合考量。

題外話:一些很奇葩的UI選擇

https://ithelp.ithome.com.tw/upload/images/20260922/20178017o7k3CGqRhA.png
【圖 5|一些奇葩的UI設計】


四、浮在畫面上面的東西

有些元件不在頁面裡,而是疊在頁面上面

元件 是什麼 在我的網站上
彈出視窗(Modal / Dialog) 正中間跳出來,背景變暗,要先處理它才能繼續 昨天 HTML 版的專輯詳情
側邊面板(Drawer) 從旁邊滑出來 昨天 next.js 版的專輯詳情
底部面板(Bottom Sheet) 從畫面底部往上滑出來,手機上很常見 目前沒出現
通知(Toast) 角落跳出一小條訊息,幾秒後自己消失 HTML 版按「複製配置」後出現的「配置已複製」
提示(Tooltip) 滑鼠停在某個東西上,旁邊冒出一小段說明 目前尚未出現
徽章(Badge) 小小的數字或標記,通常在圖示角落 「我的收藏」旁邊的數字

https://ithelp.ithome.com.tw/upload/images/20260922/20178017RVLRSqGH9T.png
【圖 6|浮在畫面上的 UI 元件】

通常怎麼選

這些元件看起來都是「浮在頁面上」,但從哪裡出現、背景還能不能操作、適合放多少內容,都不太一樣。手機上,有些網站會把桌機從旁邊滑出的面板,換成從底部滑上來的 Bottom Sheet,剛好在大拇指按得到的地方。

昨天 HTML 的版本用 Modal 顯示專輯詳情,Next.js 的版本用 Drawer,因為我們沒有特別在提示詞中去限制 AI,所以就出現了這樣的差異,哪一種比較好,每個人觀點不同。


五、狀態:最常被忘記的一層

同一個元件,在不同時候會長得不一樣。

狀態 什麼時候
滑過(Hover) 滑鼠停在上面
聚焦(Focus) 被選中準備操作,例如點進輸入框、或用 Tab 鍵移過去
停用(Disabled) 現在不能按,通常變灰
載入中(Loading) 資料還沒來
空狀態(Empty) 沒有資料,例如搜尋不到東西
錯誤(Error) 出事了

載入中常見的做法有兩種:轉圈圈,或是骨架畫面(Skeleton)——先用灰色色塊畫出內容大概的形狀,資料來了再替換上去。

https://ithelp.ithome.com.tw/upload/images/20260922/20178017beMtmXM4iY.png
【圖 7|常見的 UI 狀態】

https://ithelp.ithome.com.tw/upload/images/20260922/2017801796CcgOW1o1.png
【圖 8|YouTube 首頁骨架畫面】

這些也都是畫面的一部分,只是它們不一定會同時出現。第一版已經有搜尋不到結果時的 Empty state;但如果資料正在讀取,畫面會顯示什麼?讀取失敗時,使用者又會看到什麼?目前的版本還沒有實作。

另外還有兩個常見的小元件,之後會遇到:大頭貼(Avatar),有帳號系統之後就會用到;進度條(Progress),上傳檔案、處理內容時很常見。

狀態相關的實作,通常不太影響功能,但很容易影響使用者體驗。這也是有些人常忽視的一些細節。


六、間距:Padding、Margin 和 Gap

「好擠」「太空」「沒對齊」——這可能是很多人最常講、但跟 AI 很容易講不清楚的問題,原因是間距其實有好幾種。

用一幅裱框的畫來想(畫本身是元件):

是什麼
Padding(內距) 畫框裡面,畫和框之間的留白
Border(邊框) 框本身的寬度/厚度
Margin(外距) 這幅畫和隔壁那幅畫之間的距離

https://ithelp.ithome.com.tw/upload/images/20260922/20178017ngsEEbmlKA.png
【圖 9|間距示意圖】

所以「卡片太擠」可能是兩件完全不同的事:

  • 卡片裡面的文字貼著邊 → padding 太小
  • 卡片跟卡片黏在一起 → 卡片之間的距離太小

還有一個現在很常見的:Gap(間隙)。卡片排成格線的時候,卡片和卡片之間的距離,現在通常是用 gap 統一設定,而不是每張卡片各自設 margin。所以你講「卡片之間太擠」,AI 很可能動的是 gap。講清楚是哪一種,AI 就比較不容易改錯地方。


七、看不出來?打開開發者工具

名字知道了,但有時候你看著畫面,還是分不出來那個空白到底是 padding 還是 margin。這時候就要用到 Day 6 打開過的那個開發者工具。這次我們看的是另外三個功能。

7.1 檢查元件

在任何元件上按右鍵 →「檢查」。

滑鼠停在程式碼上時,畫面上對應的元件會亮起來:

  • 藍色:內容本身
  • 綠色:padding
  • 黃色:border
  • 橘色:margin

一眼就知道那塊空白是哪一種。不同瀏覽器的顏色可能略有差異,右側面板(下圖右下角)也會直接標出每一層的數值。

https://ithelp.ithome.com.tw/upload/images/20260922/20178017ypbLR2rLKX.png
【圖 10|檢查元件】

7.2 切換成手機畫面

開發者工具左上角有一個手機加平板的圖示(Mac 快捷鍵 Cmd + Shift + M,Windows 是 Ctrl + Shift + M)。

點下去,就可以切換成各種手機尺寸,看排版在小螢幕上會不會跑掉。這個功能很實用,因為你在電腦上開發,但有些時候使用者可能用手機看。

不過它模擬的主要是畫面尺寸,適合快速檢查排版,不能完全取代真的拿手機測試——觸控、鍵盤跳出來、瀏覽器的工具列,這些還是要用真機才看得到。(真機測試在後面的文章會提到)

https://ithelp.ithome.com.tw/upload/images/20260922/20178017cZJzL4qXkx.png
【圖 11|手機尺寸模擬】

7.3 讓 Hover 效果停住

Hover 效果有個很煩的地方:滑鼠一移開就不見了,很難截圖,也很難描述。

在右邊 Styles 面板點 :hov,勾選 :hover,那個效果就會停在畫面上。

https://ithelp.ithome.com.tw/upload/images/20260922/201780178pfB2sTggu.jpg
【圖 12|右邊的專輯強制顯示 hover 狀態】

但要注意選到的元件到底是哪一個,滑鼠移動到程式碼的過程中,會在畫面上顯示相對應的元件。
這邊介紹的只是其中幾個好用的功能,而開發者工具的功能非常的多,有興趣其實也可以和 AI 詢問、了解。


八、實際改一次

把今天講的全部串起來,像是我發現 next.js 的版本有以下這些問題:

頂部 nav 沒有 sticky 效果、沒有收藏頁面、收藏時看不到Toast通知、搜尋欄沒有 Focus 效果、專輯在手機版上太大張(目前是一張佔據全部寬度),就可以很明確的點出問題在哪裡。

然後我這樣跟它說:

我希望 頂部 nav 可以添加 sticky 效果、並新增收藏頁面、同時添加收藏成功、取消收藏時的Toast通知、並添加搜尋欄Focus 效果。此外專輯在手機版上太大張(目前是一張佔據全部寬度),我希望每一列可以放兩張(或根據螢幕寬度做響應式設計、佈局)

https://ithelp.ithome.com.tw/upload/images/20260922/20178017cfE3jC1DLe.png
【圖 13|修改前後對比】

同一個問題,了解 UI 元件的名稱後,可以從模糊的「幫我改這個」變成 AI 較容易直接照做的指令。

如果對於某些細節有更完整的想法(例如搜尋框的 Focus 效果樣式、Toast 的樣式,或是說像希望專輯檢視可以提供切換卡片式與列表式的功能)也可以一併在提示詞提出,AI 會改得更精準。


結語與明日預告

今天介紹了很多常見的元件。在知道名字、你講得出來的情況下,可以大幅降低 AI 改錯的機會。有時候真的不知道叫什麼其實也沒關係,就截圖問。 把畫面截下來,框起來問 AI「這個元件叫什麼」,也是一個快的方法。

另外,元件的選擇沒有絕對的標準答案,每一個「怎麼選」背後問的都是同一件事:使用者現在要做什麼? 這其實就是使用者體驗(UX)在想的事情。你不用成為設計師,但只要開始問這個問題,你給 AI 的指令就會不一樣。


畫面講得出來了。明天來看畫面背後的東西:資料。 打開 AI 幫我生的那份假資料,格式整整齊齊,看起來很合理。但身為一個會買專輯的人,看了一眼就發現:它其實不太懂一張專輯到底是怎麼組成的。

明天會來針對 AI 生成的資料動手。

我們明天見。



上一篇
【Day 07|挑選材料】React、Vue、Next.js⋯⋯這些名字到底差在哪?
系列文
《我與 AI 的奇幻漂流:30 天,把「能跑」變成「能上線」》8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言